import { SysConfig } from "@whjxtech/jxtech-component";
import { UploadModeType } from "@/_types/system/upload";

export type WebPlatformSysConfig = SysConfig & WebPlatformConfig & WebItemConfig;

export type WebPlatformConfig = {
  /** 文件预览IP，如http://192.168.0.10:8012，不配则默认采用nginx反向代理实现 */
  webPreviewIp: string;
  /**文件来源ip; */
  webSourceIp: string;
  /**minio储存桶名称 */
  webMinioBucket: string;
  /**minio切片大小 */
  webMinioBigFileSize: number;
  /**两种模式 server minio*/
  webUploadMode: UploadModeType;
  /**是否可以选择布局 */
  webLayoutSwitch: boolean;
  /**默认布局 */
  webLayoutDefault: JxtechWebPlatformConfigLayout;
  /**默认主题 */
  webThemeDefault: string;
  /**下载文件延时 */
  webDownloadFileTimeout: number;
  /**导航类型 */
  webNavigationType: JxtechWebPlatformConfigNavigationType;
  webI18nSwitch: boolean;
  [key: string]: any;
};

export type WebItemConfig = {
  /** 登录页背景图 */
  webLoginBg: string;
  /** 登录页左侧图片 */
  webLoginLeftPic: string;
  /** 登录页logo */
  webLoginLogo: string;
  /** 页面左侧logo*/
  webPageLogo: string;
  /** favicon图标 */
  favicon: string;
};

/**
 * 导航类型
 */
export type JxtechWebPlatformConfigNavigationType = "menuTab" | "breadcrumb";

/**
 * layout类型
 */
export type JxtechWebPlatformConfigLayout = "basicLayout" | "headMenuLayout";

/**
 * 登录类型
 */
export type JxtechWebPlatformConfigLoginType = "TOKEN" | "TOKENANDTHIRD" | "THIRD";
